package com.yfp.operation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yfp.operation.domain.AiModelConfig;
import com.yfp.operation.domain.dto.AiModelConfigDTO;
import com.yfp.operation.domain.dto.AiModelServiceInfoDTO;
import com.yfp.operation.domain.vo.AiModelConfigVO;

import java.util.List;

/**
 *
 * @description 针对表【ai_model_config(AI模型配置表)】的数据库操作Service
 * @createDate 2025-02-24 15:08:52
 */
public interface AiModelConfigService extends IService<AiModelConfig> {

    /**
     * 根据模型服务id查询模型配置
     *
     * @param aiModelServiceId
     * @return
     */
    List<AiModelConfig> listByModelServiceId(Long aiModelServiceId);

    /**
     * 根据模型服务id删除模型配置
     *
     * @param aiModelServiceId
     */
    void removeByModelServiceId(Long aiModelServiceId);

    /**
     * 根据模型服务查询模型配置
     *
     * @param aiModelServiceInfoDTO
     * @return
     */
    List<AiModelConfigVO> searchModelServiceInfoBySiliconFlow(AiModelServiceInfoDTO aiModelServiceInfoDTO);

    /**
     * 根据模型id查询模型配置
     *
     * @param id
     * @return
     */
    AiModelConfigVO searchConfigServiceInfo(Long id);

    /**
     * 更新模型配置
     *
     * @param aiModelConfigDTO
     */
    void updateConfigServiceInfo(AiModelConfigDTO aiModelConfigDTO);

    /**
     * 查询所有模型配置
     *
     * @return
     */
    List<AiModelConfigVO> searchModelServiceInfoList(AiModelConfigDTO aiModelConfigDTO);

    /**
     * 取消默认模型
     *
     * @param aiModelConfigDTO
     */
    void cancelDefaultModel(AiModelConfigDTO aiModelConfigDTO);
}
